import Item from './item.js'

function createDisCount(itemData) {
  // 代理模式 （没有权限去访问）
  return new Proxy(itemData, {
    get: (target, key, receiver) => { 
      if (key === 'name') {
        return `${target[key]}【折扣】`
      } 
      if (key === 'price') {
        return target[key] * 0.8
      } 
      return target[key]
    }
  })

}
// 工厂模式 (遇到new的时候通过函数封装变成工厂函数)
export default function(list,itemData){
  if (itemData.discount) {
    itemData = createDisCount(itemData)
  }
  return new Item(list,itemData)
}